/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package LogicadeNegocio;

import CapadeDatos.daoperiodoest;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.JInternalFrame;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import modelo.beanperiodoest;
/**
 *
 * @author jxtx
 */
public class verperiodo {
JTable tabla;
JInternalFrame i1;
DefaultPieDataset pieDataset;
    DefaultTableModel dtm; // Modelo que se le pasas la JTABLE
    beanperiodoest elemento;
    public verperiodo(JTable tablaext,JInternalFrame i2) {
        tabla = tablaext; // Constructor...
        i1 = i2;
        pieDataset = new DefaultPieDataset();
    }
    ArrayList lista = daoperiodoest.datosperiodo();
    public void verperiodo() {
   // Llamamos al metodo datos modulo que nos devuelve el ArrayList
        int x=0;
        Iterator iterador = lista.iterator(); // Iterador para recorrer el ArrayList
        while (iterador.hasNext()) {
            elemento = (beanperiodoest) iterador.next();
            Object[] newRow = {elemento.getCod_per(), elemento.getN_alumnos()}; // Fila codigomodulo , nombremodulo
            dtm = (DefaultTableModel) tabla.getModel(); // Obtenemos el modelo por defecto de la tabla
            dtm.addRow(newRow); // añadimos la fila
    
       x=x+elemento.getN_alumnos();
        }

                 Iterator iterador2 = lista.iterator(); // Iterador para recorrer el ArrayList
        while (iterador2.hasNext()) {
            elemento = (beanperiodoest) iterador2.next();
            pieDataset.setValue(elemento.getCod_per(),100*(elemento.getN_alumnos())/x);
        }


        tabla.setModel(dtm);

        JFreeChart chart = ChartFactory.createPieChart("Grafico de Barras",pieDataset,true,true,false);
        ChartPanel panel = new ChartPanel(chart);
        panel.setPreferredSize(new java.awt.Dimension(500, 270));
        i1.setVisible(true);
        i1.setResizable(true);
        i1.setClosable(true);
        i1.setMaximizable(true);
        i1.setContentPane(panel);
        i1.show();
//        try {
//        ChartUtilities.saveChartAsJPEG(new File("/home/jose/Desktop/PieChart.jpg"), chart, 500,300);
//        } catch (Exception e) {
//        System.out.println("Error creando grafico.");
//
//    }
   }
}
